Automated, Highly-accurate Bug Triaging Using Machine Learning
نویسندگان
چکیده
Empirical studies indicate that automating the bug assignment process (also known as bug triaging) has the potential to significantly reduce software evolution effort and costs. Prior work has used machine learning techniques to automate bug triaging but has employed a narrow band of tools which can be ineffective in large, long-lived software projects. To redress this situation, in this paper we employ a comprehensive set of machine learning tools and analyzes that lead to very accurate predictions, and lay the foundation for the next generation of machine learning-based bug triaging. Our work is the first to examine the impact of multiple machine learning dimensions (classifiers, attributes, and training history) on prediction accuracy in bug triaging. We employ four classifiers and perform an ablative analysis to show the relative importance of classifiers and various software process attributes on bug triaging accuracy. We propose optimization techniques that achieve high prediction accuracy while reducing training and prediction time. We validate our approach on Mozilla and Eclipse, covering 856,259 bug reports and 21 cumulative years of development. We demonstrate that our techniques can achieve up to 86.09% prediction accuracy in bug triaging and significantly reduce tossing path lengths.
منابع مشابه
Machine Learning or Information Retrieval Techniques for Bug Triaging: Which is better?
Bugs are the inevitable part of a software system. Nowadays, large software development projects even release beta versions of their products to gather bug reports from users. The collected bug reports are then worked upon by various developers in order to resolve the defects and make the final software product more reliable. The high frequency of incoming bugs makes the bug handling a difficul...
متن کاملDeepTriage: Exploring the Effectiveness of Deep Learning for Bug Triaging
For a given software bug report, identifying an appropriate developer who could potentially fix the bug is the primary task of a bug triaging process. A bug title (summary) and a detailed description is present in most of the bug tracking systems. Automatic bug triaging algorithm can be formulated as a classification problem, which takes the bug title and description as the input, mapping it to...
متن کاملAutomated, highly-accurate, bug assignment using machine learning and tossing graphs
Empirical studies indicate that automating the bug assignment process has the potential to significantly reduce software evolution effort and costs. Prior work has used machine learning techniques to automate bug assignment but has employed a narrow band of tools which can be ineffective in large, longlived software projects. To redress this situation, in this paper we employ a comprehensive se...
متن کاملNovel Metrics for Bug Triage
Bug Triaging is a vital part of issue management systems. Bug triaging deals with assigning a developer the task of an incoming bug. This activity is error prone and time consuming if done manually. There is a need for automated support to accelerate this process. The current automated bug triaging systems exploits the text contents of the bug and the tossing relations among the developers. The...
متن کاملBug Report Triaging using Textual, Categorical and Contextual Features using Latent DIRICHLET Allocation
Software Bugs occur for a wide range of reasons. Bug reports can be generated automatically or drafted by user of software. Bug reports can also go with other malfunctions of the software, mostly for the beta or unsteady versions of the software. Most often, these bug reports are improved with user contributed experiences as to know what in fact faced by him/her. Addressing these bugs accounts ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010